<script>
import { ref, provide } from 'vue';

export default {
  setup() {
    // 主题色
    const themeColor = ref('#07c160');

    // 从缓存中获取主题色
    const getThemeColorFromCache = () => {
      try {
        // 获取当前用户的头像URL
        const userInfo = uni.getStorageSync('userInfo') || {};
        const avatarUrl = userInfo.avatarUrl;
        console.log('App获取用户头像:', avatarUrl);
        
        if (avatarUrl) {
          // 获取缓存的主题色
          const cachedThemeColors = uni.getStorageSync('THEME_COLORS') || {};
          if (cachedThemeColors[avatarUrl]) {
            // 使用缓存的主题色
            const cachedColor = cachedThemeColors[avatarUrl].mainColor;
            console.log('App使用缓存的主题色:', cachedColor);
            themeColor.value = cachedColor;
            return cachedColor;
          }
        }
        
        // 如果没有缓存或没有头像，使用默认主题色
        return themeColor.value;
      } catch (error) {
        console.error('获取缓存主题色失败:', error);
        return themeColor.value;
      }
    };

    // 提供主题色给所有子组件
    provide('themeColor', themeColor);

    return {
      themeColor,
      getThemeColorFromCache
    };
  },
  onLaunch() {
    console.log("App Launch");
    // 应用启动时从缓存获取主题色
    this.getThemeColorFromCache();
  },
  onShow() {
    console.log("App Show");
    // 应用显示时从缓存获取主题色
    this.getThemeColorFromCache();
  },
  onHide() {
    console.log("App Hide");
  }
};
</script>

<style lang="scss">
/* 引入uView基础样式 */
@import 'uview-plus/index.scss';

/* 全局样式 */
page {
  background-color: #f8f8f8;
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Helvetica, Segoe UI, Arial, Roboto, 'PingFang SC', 'miui', 'Hiragino Sans GB', 'Microsoft Yahei', sans-serif;
}

/* 为底部tabbar预留空间 */
page {
  // padding-bottom: 100rpx;
}
</style>
